home *** CD-ROM | disk | FTP | other *** search
/ Nejlepší hry / Nejlepsi hry.iso / hry / sea of chaos / sea_install.msi / _15C39AAA7726369D39812BD40F01CF6A / _53E77F7F59364ABB8D44E57E485F6FED < prev    next >
Text File  |  2005-04-05  |  796b  |  40 lines

  1. //does lookup into env map and (maybee blends with another given color?)
  2.  
  3. //color of sky
  4. float4 skyClr;
  5.  
  6. //texture blob and env map
  7. sampler sampBlob;
  8. sampler sampCube;
  9.  
  10. //input
  11. struct PS_INPUT
  12. {
  13.     float2 Tex : TEXCOORD0;
  14.     float3 Env : TEXCOORD1;
  15. };
  16.  
  17. //shader code
  18. float4 PShader(PS_INPUT In) : COLOR
  19. {
  20.     In.Env=normalize(In.Env);
  21.  
  22.     //sample env map and texture
  23.     float4 eClr=texCUBE(sampCube,In.Env);
  24.     if (In.Env.z<0)
  25.     {
  26.         float4 water=float4(0.2f,0.15,0.55,0.55f);
  27.         eClr=lerp(eClr,water,saturate(-In.Env.z*20.0f));
  28.     }
  29.     float4 tClr=tex2D(sampBlob,In.Tex);
  30.     
  31.     float3 blueClr=float3(0,0,1);
  32.     
  33.     //blend    
  34.     float4 clr;
  35.     clr.xyz=0.425f*eClr.xyz + 0.4f*skyClr.xyz + 0.125f*blueClr;
  36.     clr.a=tClr.a*eClr.a;
  37.     
  38.     return clr;
  39. }
  40.